from api.base import Base
from loguru import logger
# 存放的是和用户管理的接口

"""
实现思路 ： 模块->类(管理一个类型的接口，用户管理)-方法(每一个接口对应一个方法)
"""
class UserManager(Base):

    def __init__(self):
        self.add_user_url = self.get_url('/admin/admin/create')
        self.edit_user_url = self.get_url('/admin/admin/update')
        self.search_user_url = self.get_url('/admin/admin/list?page=1&limit=20&sort=add_time&order=desc')
        self.delete_user_url = self.get_url('/admin/admin/delete')
        # self.login()


    # 新增管理员
    def add_user(self,username,password,**kwargs):
        """
        可以将必填项作为参数传入，非必填项通过可变化参数进行传入
        :return: 新增管理员的json数据
        """
        user_data = {"username":username,"password":password}
        if kwargs:
            logger.info("添加管理员的可选参数：{}".format(kwargs))
            user_data.update(**kwargs)              # 更新后的字典，作为请求体进行请求
        return self.post(self.add_user_url,user_data)

    # 修改管理员
    def edit_user(self,id,username,password,**kwargs):
        user_data = {'id':id,'username':username,'password':password}
        if kwargs:
            user_data.update(**kwargs)
        return self.post(self.edit_user_url,user_data)

    # 删除管理员
    def delete_user(self,id,username,**kwargs):
        user_data = {'id':id,'username':username}
        if kwargs:
            user_data.update(**kwargs)
        return self.post(self.delete_user_url,user_data)

    # 查询管理员
    def search_user(self):
        result = self.get(self.search_user_url)
        return result




# if __name__ == '__main__':
#     um = UserManager()
#     result = um.add_user('testt20','123456')
